package tolgahan.albayrak.as3.xml
{
	import tolgahan.albayrak.as3.reflection.PropertyInfo;
	import tolgahan.albayrak.as3.reflection.Type;
	import tolgahan.albayrak.as3.reflection.converters.TypeConverter;

	public interface IXMLObject
	{
		function xmlObjectInit(xml:XML):void;
		function get canLoadProperties():Boolean;
		function get canHaveChildren():Boolean;
		function beforeSetProperty(property:PropertyInfo, value:String, converter:TypeConverter):Boolean;
		function afterSetProperty(propety:PropertyInfo, value:*):void;
		function beforeCreateChildren(child:Type):Boolean;
		function afterCreateChildren(child:Type, childInstance:*):void;
	}
}